<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!--
Automatically generated, don't change:
$Id: faq_frameserving.htm,v 1.8 2009/09/12 20:57:20 wilbertd Exp $ 
-->
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <title> FAQ - Opening scripts in encoder and player applications </title>
<style type=text/css></style>
   <link rel="stylesheet" type="text/css" href="../avisynth.css">
</head>
<body>

<h1>AviSynth FAQ - <span class="mw-headline">Opening scripts in encoder and
player applications</span></h1>

<h2>Contents</h2>

<ol>
  <li><span class="mw-headline"><a href="#What_is_frameserving_and_what_is_it_good_for.3F">What is frameserving and what is it good for?</a></span></li>
  <li><span class="mw-headline"><a href="#How_do_I_use_AviSynth_as_a_frameserver.3F">How do I use AviSynth as a frameserver?</a></span></li>
  <li><span class="mw-headline"><a href="#How_do_I_frameserve_my_AVS-file_to_encoder.2Fapplication_X.3F">How do I frameserve my AVS-file to
encoder/application X?</a></span>
    <ul>
      <li><span class="mw-headline"><a href="#Direct_frameserving_to_compatible_applications">Direct frameserving to compatible applications</a></span></li>
      <li><span class="mw-headline"><a href="#Direct_frameserving_to_applications_using_additional_plugins">Direct frameserving to applications
using additional plugins</a></span></li>
      <li><span class="mw-headline"><a href="#Direct_frameserving_to_special_or_modified_versions_of_encoders">Direct frameserving to special or modified versions
of encoders</a></span></li>
      <li><span class="mw-headline"><a href="#Frameserving_to_applications_via_fake_AVI_files_and_proxy_utilities">Frameserving
        to applications via fake AVI files
and proxy utilities</a></span></li>
      <li><span class="mw-headline"><a href="#Frameserving_via_pipe_from_auxiliary_program_to_application-encoders">Frameserving via pipe from auxiliary programs to
application-encoders</a></span></li>
    </ul>
  </li>
  <li><span class="mw-headline"><a href="#How_do_I_solve_problems_when_opening.2Freading_scripts_in_encoders_and_players.3F">How
    do I solve problems when opening/reading scripts
in encoders and players?</a></span></li>
  <li><span class="mw-headline"><a href="#How_do_I_frameserve_from_Premiere.2FUlead.2FVegas_to_AviSynth.3F">How do I frameserve from Premiere/Ulead/Vegas to
AviSynth?</a></span></li>
</ol>

<h3><span class="mw-headline">What is frameserving and what is it good for?</span></h3>
<p>An excellent description is found on <a href="http:///neuron2.net/lvg/frameserving.html" class="external text" title="http:///neuron2.net/lvg/frameserving.html" rel="nofollow">Lukes
homepage</a>:</p>
<p>&quot;Frameserving is a process by which you directly transfer video data
from one program on your computer to another. No intermediate or temporary files
are created. The program that opens the source file(s) and outputs the video
data is called the frameserver. The program that receives the data could be any
type of video application.</p>
<p>There are two main reasons that you would want to frameserve a video:</p>
<ol>
  <li><b>Save Disk Space</b>: Depending on the frameserving application, you can
    usually edit/process your video as it is being frameserved. Because
    frameserving produces no intermediate files, you can use a frameserver to
    alter your videos without requiring any additional disk space. For example,
    if you wanted to join two video files, resize them, and feed them to another
    video application, frameserving would allow you to do this without creating
    a large intermediate file.</li>
  <li><b>Increased Compatibility</b>: To the video application that's receiving
    the frameserved video, the input looks like a relatively small, uncompressed
    video file. However, the source file that the frameserver is transferring
    could actually be, for example, a highly compressed MPEG-1 video. If your
    video application doesn't support MPEG-1 files, it's not a problem because
    the application is just receiving standard uncompressed video from the
    frameserver. This feature of frameserving enables you to open certain types
    of files in an application that wouldn't normally support them.</li>
</ol>
<p>Furthermore, because the video application is being fed the source video one
frame at a time, it doesn't know anything about the file size of the source
video. Therefore, if your application has 2 GB or 4 GB limit on input file size,
it won't have any effect on your frameserved video. You could feed 100 GB of
video via a frameserver to an application limited to 2 GB and it wouldn't cause
a problem.&quot;</p>
<a name="How_do_I_use_AviSynth_as_a_frameserver.3F"></a>
<h3><span class="mw-headline">How do I use AviSynth as a frameserver?</span></h3>
<p>Write a script using a text editor. Load your clip in AviSynth (see <a href="faq_loading_clips.htm">FAQ
loading clips</a>), do the necessary filtering and load the AVS-file in
encoder/application X (must be an encoder or application which can read
AVI-files (see also <span class="mw-headline"><a href="#How_do_I_frameserve_my_AVS-file_to_encoder.2Fapplication_X.3F">here</a></span>).</p>
<a name="How_do_I_frameserve_my_AVS-file_to_encoder.2Fapplication_X.3F"></a>
<h3><span class="mw-headline">How do I frameserve my AVS-file to
encoder/application X?</span></h3>
<p>There is simple way for many applications, and tricky ways for many others.</p>
<a name="Direct_frameserving_to_compatible_applications"></a>
<h4><span class="mw-headline">Direct frameserving to compatible applications</span></h4>
<p>Simply open your AVS file in coder/application with menu, command line or
drag-and-drop AVS file to it (working ways are dependent on the application).
Some programs have &quot;AviSynth *.avs&quot; in &quot;Open&quot; menu, for
others try select &quot;All files *.*&quot; or type AVS file name instead of
&quot;AVI&quot;.</p>
<p>Players: Media Player Classic, Windows Media Player 6.4, 9 and others.</p>
<p>Encoders: QuEnc, Mencoder, HC Encoder, CCE SP 2.50 and 2.66, Canopus Procoder 1.5 and
above, MainConcept MPEG Encoder, TMPGEnc, TMPGEncXpress 3/4, Elecard Converter
Studio, xvid_encraw, FFMpeg (new versions), Nero 6, Nero 7 (drag-and-drop only)
and others.</p>
<p>Editors: VirtualDub, <span class="diffchange">AviDemux (through its avs proxy
option)</span></p>
<p>But some applications work fine only with some specific video or audio
formats, have a look at the next section.</p>
<h4><span class="mw-headline">Direct frameserving to applications
using additional plugins</span></h4>
<a name="Direct_frameserving_to_applications_using_additional_plugins"></a>
<ul>
  <li>For frameserving to Premiere there exists an import plugin
    &quot;IM-Avisynth.prm&quot;.</li>
</ul>
<p>The original version was located at <a href="http://math.berkeley.edu/~benrg/avisynth-premiere.html" class="external text" title="http://math.berkeley.edu/~benrg/avisynth-premiere.html" rel="nofollow">Bens
site</a>, see <a href="http://neuron2.net/www.math.berkeley.edu/benrg/avisynth-premiere.html">mirror</a>. A much improved version can be downloaded from the <a href="http://sourceforge.net/projects/videoeditorskit/" class="external text" title="http://sourceforge.net/projects/videoeditorskit/" rel="nofollow">Video
Editors Kit sourceforge page</a>. This works for Premiere 5.x, 6.x and Pro at
present. <span class="diffchange">Version 1.5 also works for Premier CS3. </span>To install the import plugin move the IM-Avisynth.prm file into your
Premiere &quot;Plug-ins&quot; directory.</p>
<a name="Direct_frameserving_to_special_or_modified_versions_of_encoders"></a>
<h4><span class="mw-headline">Direct frameserving to special or modified versions
of encoders</span></h4>
<p>Some programs initially could not open AviSynth scripts, but updated or
alternative programs can do it:</p>
<ul>
  <li>Mencoder</li>
  <li>FFMpeg: Versions older then SVN-r6129 use the &quot;AVSredirect.dll&quot;
    for communication with Avisynth. From SVN-r6129 up, AVS redirect code is
    integrated in the FFmpeg executable (as option at compiling). Use builds at <a href="http://ffdshow.faireal.net/mirror/ffmpeg/" class="external free" title="http://ffdshow.faireal.net/mirror/ffmpeg/" rel="nofollow">http://ffdshow.faireal.net/mirror/ffmpeg/</a></li>
  <li>Windows Media 9 Encoder: Download Nic's Windows Media 9 Encoder and make
    sure you also installed the Windows Media 9 codec. Both can be found <a href="http://nic.dnsalias.com/WM9Enc.html" class="external text" title="http://nic.dnsalias.com/WM9Enc.html" rel="nofollow">here</a>.</li>
</ul>
<a name="Frameserving_to_applications_via_fake_AVI_files_and_proxy_utilities"></a>
<h4><span class="mw-headline">Frameserving to applications via fake AVI files
and proxy utilities</span></h4>
<p>Many &quot;new&quot; programs do NOT use the Windows functions to read the
AVI-files. If they use own read functions the AviSynth-script files will not
work. There are utilities that can create small fake AVI file with special type
(FOURCC), and provide correspondent system codec to &quot;decode&quot; these
dummy compressed files.</p>
<p>Select your AVS file in utility menu, set options and create fake AVI file
with some name. Then you can open this fake AVI in your application/encoder, that
will be receive frames from the codec that wiil be receive frames from AviSynth.</p>
<p>Several such utilities are different by supported modes (formats) of output
video (with or without conversion) and audio (unpacked audio is most compatible
but filesize is larger), by user interface (window, command line) and number of
bugs.</p>
<ul>
  <li><a href="http://www.doom9.org/Soft21/SupportUtils/VFAPIConv-1.05-EN.zip" class="external text" title="http://www.doom9.org/Soft21/SupportUtils/VFAPIConv-1.05-EN.zip" rel="nofollow">VFAPI
    reader codec</a> with DGVfapi (as a client) from <a href="http://neuron2.net/dgmpgdec/dgmpgdec.html" class="external text" title="http://neuron2.net/dgmpgdec/dgmpgdec.html" rel="nofollow">DGDMPGDec</a>.</li>
</ul>
<p>Features - output RGB24 only, unpacked audio, multiple files support, good
compatibility, but a bit slow.</p>
<ul>
  <li>MakeAVIS is included in ffvfw and <a href="http://sourceforge.net/project/showfiles.php?group_id=173941" class="external text" title="http://sourceforge.net/project/showfiles.php?group_id=173941" rel="nofollow">FFDShow</a>.</li>
</ul>
<p>Features - ouput to any color format. Uncompressed audio works properly in
old ffvfw and recent (13 november 2007) ffdshow (8 and 16 bit only, use <a href="corefilters/convertaudio.htm" title="ConvertAudioTo16bit">ConvertAudioTo16bit</a>
when necessary).</p>
<ul>
  <li><a href="http://hmd.c58.ru/files.html" class="external text" title="http://hmd.c58.ru/files.html" rel="nofollow">Proxy-codec
    AVS2AVI</a>. (Note that the same-name utility by Moitah and others is an
    encoder and not an AVI-wrapper.)</li>
</ul>
<p>Features - video output same as input format, no audio.</p>
<p>Known programs that will not open AVS scrips without these utilities:<br>
CCE SP v2.62-2.64, Windows Media Encoder vx.x. (older than v9), Ulead
VideoStudio 5-11, MediaStudio 6-8, Pinnacle Studio, Sony Vegas, Nero 8,
ImageMixer and others.</p>
<a name="Frameserving_via_pipe_from_auxiliary_program_to_application-encoders"></a>
<h4><span class="mw-headline">Frameserving via pipe from auxiliary programs to
application-encoders</span></h4>
<p><a href="http://akuvian.org/src/avisynth/avs2yuv/" class="external text" title="http://akuvian.org/src/avisynth/avs2yuv/" rel="nofollow">Avs2YUV</a>
is a command-line program, intended for use under Wine, to interface between AviSynth
and Linux-based video tools.</p>
<p>Programs: Mpeg2enc, Mencoder, FFMpeg.</p>
<p>avs2yuv out.avs -o - | mpeg2enc - options...</p>
<p>This way is obsolete since these programs have native AviSynth support now.</p>
<a name="How_do_I_solve_problems_when_opening.2Freading_scripts_in_encoders_and_players.3F"></a>
<h3><span class="mw-headline">How do I solve problems when opening/reading scripts
in encoders and players?</span></h3>
<ol>
  <li>TMPGEnc doesn't read my AVS files (this happens in old versions of
    TMPGEnc), what to do?
    <ul>
      <li>Install the VFAPI plugin for TMPGEnc.</li>
      <li>Disable the direct show filters within TMPGEnc and turn off the
        VirtualDub proxy before frameserving.</li>
      <li>Add &quot;<a href="corefilters/convert.htm" title="ConvertToRGB24">ConvertToRGB24</a>&quot;
        at the end of your AVS-file.</li>
      <li>Install <a href="http://avisynth.org/mediawiki/Huffyuv" title="Huffyuv">Huffyuv</a>/<a href="http://avisynth.org/mediawiki/DivX" title="DivX">DivX</a>
        codec so that it can do the decompression for you when loading an AVI in
        TMPGEnc.</li>
      <li>Install the <a href="http://www.math.berkeley.edu/~benrg/avisynth/tmpgenc-readavs.zip" class="external text" title="http://www.math.berkeley.edu/~benrg/avisynth/tmpgenc-readavs.zip" rel="nofollow">ReadAVS
        plugin</a>. Just copy ReadAVS.dll to the VFAPI reader directory and open
        the reg-file ReadAVS.reg in notepad and change the corresponding path.
        Save it, and doubleclick on it to merge it with your registry-file.</li>
    </ul>
  </li>
  <li>CCE SP crashes when reading an AVS-file, what to do?
    <ul>
      <li>If you're using Win2k then run CCE in WinNT4-SP5 compatibility mode.</li>
      <li>Put addaudio.avsi in your AviSynth plugin folder and add &quot;<a href="http://avisynth.org/mediawiki/AddAudio" title="AddAudio">AddAudio</a>(44100)&quot;
        in your script, if you don't have any audio in your AVS-file.</li>
      <li>Some versions (like CCE SP v2.62/v2.64) don't read AVS files. Get CCE
        SP v2.66 or a more recent version.</li>
    </ul>
  </li>
  <li>My encoder or player doesn't open AviSynth scripts, what should I do?
    <ul>
      <li>In this case you may try other way, for example an AVI wrapper, like <a href="http://avisynth.org/mediawiki/Vfapi" title="Vfapi">vfapi</a>
        or <a href="http://avisynth.org/mediawiki/MakeAVIS" title="MakeAVIS">makeAVIS</a>.</li>
    </ul>
  </li>
  <li>When opening my clip in an encoder or player, the colors are messed up,
    what to do?
    <ul>
      <li>If you have such problems, some external (or internal) codec is
        messing up the used colorspace conversion. If you have such problems add
        &quot;<a href="corefilters/convert.htm" title="ConvertToRGB24">ConvertToRGB24</a>&quot;
        as the last line of your script (for Procoder and CCE use
        ConvertToYUY2(interlaced=true) or =false) and have a look at the thread
        (and the suggested solutions) <a href="http://forum.doom9.org/showthread.php?s=&amp;threadid=27932" class="external text" title="http://forum.doom9.org/showthread.php?s=&amp;threadid=27932" rel="nofollow">colorspace
        conversion errors</a>.</li>
    </ul>
  </li>
  <li>Windows Media Encoder 9 Series does not open AVS files, what to do?
    <ul>
      <li>Use an <a href="http://www.citizeninsomniac.com/WMV/#WMCmd">updated WMCmd.vbs script</a>
        [<a href="http://forum.doom9.org/showthread.php?t=65638">discussion
        about the fix</a>].</li>
    </ul>
    <ul>
      <li>In order to use AviSynth source with WME9, you need to set the encoder
        source to &quot;Both device and file&quot; in the Session Properties,
        see <a href="http://forum.doom9.org/showthread.php?t=48477" class="external text" title="http://forum.doom9.org/showthread.php?t=48477" rel="nofollow">discussion</a>
        and <a href="http://forum.doom9.org/showthread.php?t=112634" class="external text" title="http://forum.doom9.org/showthread.php?t=112634" rel="nofollow">WMV
        faq</a>. Or use <a href="http://nic.dnsalias.com/WM9Enc.html" class="external text" title="http://nic.dnsalias.com/WM9Enc.html" rel="nofollow">Nic's
        WMV encoder</a>.</li>
    </ul>
  </li>
  <li>WMP11 on Vista dos no play AVS, what to do?
    <ul>
      <li>You may <a href="http://forum.doom9.org/showthread.php?t=121674" class="external text" title="http://forum.doom9.org/showthread.php?t=121674" rel="nofollow">edit
        registry</a> to add .avs as known extension. Copy the registry key (and
        subkeys) for <b>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.avi</b>
        to <b>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.avs</b></li>
      <li>On Vista x64 you have to copy the correct 32-Bit nodes:<br>
        <b>HKEY_LOCAL_MACHINE\SOFTWARE\'''Wow6432Node'''\Microsoft\Multimedia\WMPlayer\Extensions\.avi</b> to
        <b> HKEY_LOCAL_MACHINE\SOFTWARE\'''Wow6432Node'''\Microsoft\Multimedia\WMPlayer\Extensions\.avs</b></li>
      <li>Do not change anything at the registry if you are not experienced!</li>
    </ul>
  </li>
</ol>
<a name="How_do_I_frameserve_from_Premiere.2FUlead.2FVegas_to_AviSynth.3F"></a>
<h3><span class="mw-headline">How do I frameserve from Premiere/Ulead/Vegas to
AviSynth?</span></h3>
<p>Install the AviSynth compatible frameserver <a href="http://www.debugmode.com/pluginpac/frameserver.php" class="external text" title="http://www.debugmode.com/pluginpac/frameserver.php" rel="nofollow">PluginPace
frameserver (by Satish Kumar)</a> for frameserving from SonicFoundry Vegas (and
earlier Vegas Video/VideoFactory versions), Adobe Premiere, Ulead MediaStudio
Pro or Wax to AviSynth (<a href="http://forum.doom9.org/showthread.php@s=&amp;threadid=51242" class="external text" title="http://forum.doom9.org/showthread.php@s=&amp;threadid=51242" rel="nofollow">discussion</a>).</p>
<p>|<a href="faq_sections.htm" title="AviSynth FAQ">
Main Page</a> | <a href="faq_general_info.htm">General
Info</a> | <a href="faq_loading_clips.htm" title="FAQ loading clips">Loading
Clips</a> | <b>Loading
Scripts</b> | <a href="faq_common_errors.htm" title="FAQ common errors">Common
Error Messages</a> | <a href="faq_different_types_content.htm" title="FAQ different types content">Processing
Different Content</a> | <a href="faq_yv12.htm" title="FAQ YV12">Dealing
with YV12</a> | <a href="faq_using_virtualdub_plugins.htm" title="FAQ using virtualdub plugins">Processing
with Virtualdub Plugins</a> |</p>
<a name="When_frameserving_I_got_the_following_message:_.22Script_error.2C_there_is_no_function_named_.22xxx_.28some_filter.29.22.22_.3F"></a>
<p>
<kbd>$Date: 2009/09/12 20:57:20 $</kbd>
</p>
</body>
</html>
